package com.yanqu.road.entity.winery;


import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.FieldTypeAnnotation;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

@FieldTypeAnnotation(tableName = "t_u_winery_info")
public class UserWineryInfoData extends DataObject {

    @FieldTypeAnnotation(desc = "用户Id", select = true, update = true)
    private long userId;

    @FieldTypeAnnotation(desc = "酒香值")
    private long aromaValue;

    @FieldTypeAnnotation(desc = "酒艺值")
    private long artValue;

    @FieldTypeAnnotation(desc = "徽章等级")
    private int badgeLevel;

    @FieldTypeAnnotation(desc = "当前酒客")
    private int currentDrinkerId;
    @FieldTypeAnnotation(desc = "当前酒客醉意")

    private int currentDrinkerFeelingOfDrunk;
    @FieldTypeAnnotation(desc = "当前酒客交情值")
    private int currentDrinkerFriendlyValue;
    @FieldTypeAnnotation(desc = "当前酒客收益")
    private int currentDrinkerIncome;

    @FieldTypeAnnotation(desc = "当前酒客喝酒数量")
    private int currentDrinkerDrunkNum;

    @FieldTypeAnnotation(desc = "是否领取了初始奖励")
    private int initReward;

    @FieldTypeAnnotation(desc = "冲榜活动数据")
    private Map<Integer, ActivityRank> rankActivityDataMap = new ConcurrentHashMap<>();

    @FieldTypeAnnotation(desc = "酿酒物品不足请求次数")
    private int makeWineryNotEnoughRequest;

    @FieldTypeAnnotation(desc = "一键喝酒暂停门客")
    private List<Integer> pausePatron = new ArrayList<>();

    @FieldTypeAnnotation(desc = "创建时间")
    private Date createAt;

    @FieldTypeAnnotation(desc = "更新时间")
    private Date updateAt;

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public long getAromaValue() {
        return aromaValue;
    }

    public void setAromaValue(long aromaValue) {
        this.aromaValue = aromaValue;
    }

    public void addAromaValue(long value) {
        this.aromaValue += value;
    }

    public long getArtValue() {
        return artValue;
    }

    public void setArtValue(long artValue) {
        this.artValue = artValue;
    }

    public void addArtValue(long value) {
        this.artValue += value;
    }

    public int getBadgeLevel() {
        return badgeLevel;
    }

    public void setBadgeLevel(int badgeLevel) {
        this.badgeLevel = badgeLevel;
    }


    public int getCurrentDrinkerId() {
        return currentDrinkerId;
    }

    public void setCurrentDrinkerId(int currentDrinkerId) {
        this.currentDrinkerId = currentDrinkerId;
    }

    public int getCurrentDrinkerFeelingOfDrunk() {
        return currentDrinkerFeelingOfDrunk;
    }

    public void setCurrentDrinkerFeelingOfDrunk(int currentDrinkerFeelingOfDrunk) {
        this.currentDrinkerFeelingOfDrunk = currentDrinkerFeelingOfDrunk;
    }

    public void addCurrentDrinkerFeelingOfDrunk(int value) {
        this.currentDrinkerFeelingOfDrunk += value;
    }

    public int getCurrentDrinkerFriendlyValue() {
        return currentDrinkerFriendlyValue;
    }

    public void setCurrentDrinkerFriendlyValue(int currentDrinkerFriendlyValue) {
        this.currentDrinkerFriendlyValue = currentDrinkerFriendlyValue;
    }

    public void addCurrentDrinkerFriendlyValue(int value) {
        this.currentDrinkerFriendlyValue += value;
    }

    public int getCurrentDrinkerIncome() {
        return currentDrinkerIncome;
    }

    public void setCurrentDrinkerIncome(int currentDrinkerIncome) {
        this.currentDrinkerIncome = currentDrinkerIncome;
    }

    public void addCurrentDrinkerIncome(int value) {
        this.currentDrinkerIncome += value;
    }

    public int getCurrentDrinkerDrunkNum() {
        return currentDrinkerDrunkNum;
    }

    public void setCurrentDrinkerDrunkNum(int currentDrinkerDrunkNum) {
        this.currentDrinkerDrunkNum = currentDrinkerDrunkNum;
    }

    public void addCurrentDrinkerDrunkNum(int value) {
        this.currentDrinkerDrunkNum += value;
    }

    public Date getCreateAt() {
        return createAt;
    }

    public void setCreateAt(Date createAt) {
        this.createAt = createAt;
    }

    public Date getUpdateAt() {
        return updateAt;
    }

    public void setUpdateAt(Date updateAt) {
        this.updateAt = updateAt;
    }

    public int getInitReward() {
        return initReward;
    }

    public void setInitReward(int initReward) {
        this.initReward = initReward;
    }

    public Map<Integer, ActivityRank> getRankActivityDataMap() {
        return rankActivityDataMap;
    }

    public void setRankActivityDataMap(Map<Integer, ActivityRank> rankActivityDataMap) {
        this.rankActivityDataMap = rankActivityDataMap;
    }

    public int getMakeWineryNotEnoughRequest() {
        return makeWineryNotEnoughRequest;
    }

    public void setMakeWineryNotEnoughRequest(int makeWineryNotEnoughRequest) {
        this.makeWineryNotEnoughRequest = makeWineryNotEnoughRequest;
    }

    public void addMakeWineryNotEnoughRequest(int makeWineryNotEnoughRequest) {
        this.makeWineryNotEnoughRequest += makeWineryNotEnoughRequest;
    }

    public List<Integer> getPausePatron() {
        return pausePatron;
    }

    public void setPausePatron(List<Integer> pausePatron) {
        this.pausePatron = pausePatron;
    }
}
